A programming language is just like any other language.
English is a language made up of words and syntax (think grammar, punctuation, etc.). The combination of using words and syntax allows for us to communicate with other people who speak English! But in English, there are situations where weirdness prevents us from understanding the meaning behind a sentence. Take, for example, the sentence: "I never said they stole my money." We might assume it means a particular thing, but if you said this sentence out loud...most people would interpret the meaning based on which word you placed emphasis (which we show in bold below) on:
I never said they stole my money. — Someone else said it.
I never said they stole my money. — I didn't say it.
I never said they stole my money. — I only implied it.
I never said they stole my money. — I said someone did, not necessarily them.
I never said they stole my money. — I considered it borrowed.
I never said they stole my money. — Only that they stole money, not necessarily my own.
I never said they stole my money. — They stole something of mine, not my money.
Computers can't deal (easily at least) with this ambiguity. So in a programming language, we limit ourselves to particular commands that are defined very specifically such that there is no ambiguity when you give the computer that command. Below, you'll interact with a microworld where you have the ability to ask the computer to run or process some commands.